package util

import (
	"fmt"

	"gopkg.in/gomail.v2"
)

// SendEmail 发送邮件的通用方法
func SendEmail(from, password string, to []string, subject, body string) error {
	// 配置信息
	smtpHost := "smtp.qq.com"
	smtpPort := 465

	// 创建邮件消息
	m := gomail.NewMessage()
	m.SetHeader("From", from)
	m.SetHeader("To", to...)
	m.SetHeader("Subject", subject) // 邮件主题
	m.SetBody("text/html", body)    // 邮件正文支持HTML内容

	// 创建SMTP dialer
	d := gomail.NewDialer(smtpHost, smtpPort, from, password)

	// 发送邮件
	if err := d.DialAndSend(m); err != nil {
		return fmt.Errorf("邮件发送失败: %w", err)
	}

	return nil
}
